package com.liming.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author liming
 * @date 2025/4/14
 */
@Getter
@AllArgsConstructor
public enum RefundStatusEnum {

    // 退款单的退款处理状态。
    //SUCCESS: 退款成功,
    //CLOSED: 退款关闭,
    //PROCESSING: 退款处理中,
    //ABNORMAL: 退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台-交易中心，手动处理此笔退款，可参考： 退款异常的处理，或者通过发起异常退款接口进行处理。

    SUCCESS(1, "SUCCESS", "退款成功"),
    CLOSED(2, "CLOSED", "退款关闭"),
    PROCESSING(3, "PROCESSING", "退款处理中"),
    ABNORMAL(4, "ABNORMAL", "退款异常");

    private final Integer code;
    private final String name;
    private final String desc;

    public static Integer getCodeByName(String name) {
        for (RefundStatusEnum value : values()) {
            if (value.getName().equals(name)) {
                return value.getCode();
            }
        }
        return null;
    }
}
